package cn.cxq.learning.math;

import org.junit.jupiter.api.Test;

/**
 * 链接：https://www.nowcoder.com/questionTerminal/7a0da8fc483247ff8800059e12d7caf1
 * 来源：牛客网
 *
 * [编程题]求1+2+3+...+n
 * 热度指数：332481时间限制：C/C++ 1秒，其他语言2秒空间限制：C/C++ 64M，其他语言128M
 * 算法知识视频讲解
 * 求1+2+3+...+n，要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句（A?B:C）。
 * 示例1
 * 输入
 * 5
 * 输出
 * 15
 */
public class Sum {

    @Test
    public void testSum_Solution() {
        System.out.println(Sum_Solution(5));
    }

    public int Sum_Solution(int n) {
        boolean x = n > 1 && n == (n += Sum_Solution(n - 1));
//        //上述这句话等价于:
//        if (n > 1) {
//            n += Sum_Solution(n - 1);
//        }
        return n;
    }
}
